我們提到 BigQuery 是一種 serverless 的 Data warehouse,本篇想要針對 Databases 和 Data warehouse 做一個比較圖,以及對應的雲端服務有哪些,讓大家有更全面的了解。此外,本文主要是參考 MongoDB的文章做彙整,更詳細的資訊可以參考這裡。
前面有提到 Databases 和 Data warehouses 的關鍵差異是使用情境。
資料庫是資料或信息的集合,並用於支持OLTP。而資料庫又可以分為關聯式資料和非關聯式資料庫 (以 key value形式儲存,例如 JSON or BSON)。
資料倉儲則是儲存來自一個或多個系統,用於支持OLAP,並且是高度結構化的資料,以便於後續的分析並獲取洞見。另外 ETL 也是建造 data warehouse 常見的步驟。
比較 | Database | Data warehouse |
---|---|---|
使用情境 | 當應用程式需要一個空間儲存數據時。 | 當必須從多個數據來源進行更深度的分析時,非常適合 Data warehouse,讓資料科學家和資料分析師能夠更直觀的進行分析。 |
特色 | 關聯式: 有固定的 schema, 且符合ACID原則確保資料的完整性 非關聯式: key-value pairs | 高度結構化 會有 ETL的過程 |
對應的地端服務 | 關聯式: MySQL 非關聯式: MongoDB | snowflake IBM Db2 Warehouse |
對應的雲端服務 | 關聯式: Google Cloud SQL 非關聯式: Google Bigtable | Google BigQuery, Amazon Redshift, Microsoft Azure Synapse |
案例 | 病人的電子病歷, 金融交易紀錄, IoT裝置數據 | 製造業需同時使用 SAP系統、MES系統的數據進行分析時。 |
Databases 和 Data warehouses 的關鍵差異是使用情境,此外,雖然本次的主題主要是 Google BigQuery,但是 Data warehouses 相關的地端或雲端服務也很多,各位可以依照企業情境,選擇合適的雲端資料倉儲。
https://www.mongodb.com/databases/data-lake-vs-data-warehouse-vs-database